package com.flashshe.ds
{
	public interface IStructure
	{
		/**
		 * @post 所有的元素 的数量
		 */
		function get size():int;
		
		/**
		 * @post 如果没有包含任何数据，返回true
		 */
		function isEmpty():Boolean;
		
		/**
		 * @post 清除所有数据，该操作完成后，结构为空
		 */
		function clear():void;
		
		/**
		 * @pre v != null
		 * @post 如果包含value，返回true
		 */
		function contains(v:Object):Boolean					
			
		/**
		 * @post 返回一个IIterator，用来遍历该结构
		 */
		function get iterator():IIterator
	}
}